Voice over IP (VoIP) has the capability of substantially lowering costs with respect to traditional telephone service. Rather than use conventional analog telephone lines, a user having a VoIP-enabled telephone connects with other callers through the digital lines supported by the Internet. Because the connection is digital, a VoIP-enabled phone offers features and services that a conventional telephone typically cannot, such as sending images or videos in conjunction with voice communication. Moreover, as is the case with conventional Web-browsing, VoIP calls have the potential for the same toll, regardless of the length of the conversation and the distance called.
Although VoIP telephony has great potential, it also faces considerable technical challenges. In a traditional telephony, a call is placed over a dedicated circuit. The traditional telephone network provides resources that guarantee the voice quality over this dedicated circuit set up to support the telephone call. In contrast, communication over the Internet is packet-based. Each packet has two parts: an information payload and meta-data such as the destination address. On the Internet, packets are forwarded by routers based upon the destination address. Each packet making up digital content could thus be sent from a source to a destination address over independent paths—there is no dedicated circuit as is the case for traditional telephony. The absence of a dedicated circuit does not impact traditional Web-browsing, however. A user wishing to download a webpage can wait until the various packets making up the webpage's content are routed through the Internet and then re-assembled to present the desired content.
But effective voice communication cannot occur with arbitrary delays on the digitized voice messages. Instead, effective voice communication can tolerate a maximum of approximately 100 milliseconds of delay between the time speech is uttered and the time it is heard by the listener. Greater delays hinder communication and violate the users' real-time expectations. But packets themselves hinder real-time communication. For example, suppose a VoIP protocol uses 500-byte packets. Assuming that voice is digitized at 8000 one-byte samples per second, each 500-byte packet would take 62.5 milliseconds to fill. Over 60% of the entire acceptable delay is thus taken up by just filling the packet, which hasn't yet touched the Internet. To combat this problem, specialized voice compression and VoIP protocols have been developed such as H.323.
As the use of VoIP telephony expands into the home market, it must combat the restricted bandwidths typically available to a home-based Internet user. For example, consider the two most-commonly-used high-speed Internet access methods available for the home user: Digital Subscriber Line (DSL) and cable modem services. For both services, the available bandwidth is typically asymmetrically proportioned such that a user has more downstream bandwidth than upstream bandwidth. This asymmetric division satisfies a typical Web-browser's needs in that content generally flows downstream from webpages to a user's web-browser rather than in the upstream direction. Depending upon the subscription purchased, a DSL provider will offer varying bandwidth packages to its users. For example, a DSL provider may offer a standard package providing a down-stream bandwidth of 512 kbps and an upstream bandwidth of 128 kbps. Note that as used herein, “bandwidth” is expressed as an achievable data rate rather than in Hz. In other words, to say the bandwidth of the upstream channel is 128 kbps is to say that the up-stream bandwidth is such that it will support a data rate of 128 kbps. In contrast to the conventional package just described, “premium” packages would offer greater down-stream and upstream bandwidths, albeit in analogous asymmetric proportions. The up-stream bandwidth for a cable modem service is more nebulous in that cable modem services do not offer the fixed bandwidths that DSL services can offer. Instead, the available bandwidth for a cable modem is shared with other users and will thus vary depending on cable traffic. However, cable modems typically proportion the available band-width for any given user in an asymmetric fashion between upstream and downstream uses. Thus, typical upstream cable modem bandwidths will also often be in the range of 128 kbps.
As discussed above, the acceptable delay for VoIP telephony is approximately 100 milliseconds. The limited upstream bandwidths typically provided by high-speed Internet access methods such as DSL and cable modems is a factor in this delay. If too little upstream bandwidth is available, the voice data rate is slowed such that the acceptable delay will be violated. For example, VoIP implemented with a G.711 codec requires at least 100 kbps in upstream bandwidth. But note that a VoIP caller may also be emailing others while speaking. In particular, recall that VoIP also supports the sending of digital content such as video in addition to the voice communication. Thus, a VoIP call may also compete for the limited upstream bandwidth with the presence of other digital content being transmitted upstream. In addition, the VoIP caller may be sharing a modem with other users on a LAN who happen to be uploading content. Depending upon the available upstream bandwidth, the data rate of content besides voice data may need to be limited to provide adequate VoIP telephony service.
Accordingly, there is a need in the art for improved VoIP systems that can estimate their available upstream bandwidth and adjust the upstream voice and non-voice data loads accordingly.